/*
 * EntidadSerializable.h
 *
 *  Created on: 11/09/2010
 *      Author:
 */

#ifndef ENTIDADSERIALIZABLE_H_
#define ENTIDADSERIALIZABLE_H_


// Definicion de las constantes (ver como optimizar para uso de disco)
#define P_MAX_CARACT_ROTULO 40
#define P_MAX_IDASOCIADOS 100


#include <string>
using namespace std;

#include <vector>


class EntidadSerializable				// Puede ser una persona (actor, director, etc) o una pelicula.
{

public:
	EntidadSerializable( int = 0 , string = "" );
	void setID( int ); 					// El ID propio de la entidad.
	void setRotulo( string ); 			// Nombre si es una persona o título si es una pelicula.
	void agregarAsociado( int );		// Agrega ID de peliculas en las que trabajo la persona, o personas que trabajaron en la pelicula
	int getID();
	string getRotulo();
	vector<int> getAsociados();

private:
	int id;
	char rotulo[P_MAX_CARACT_ROTULO];
	int asociados[P_MAX_IDASOCIADOS];	// Se refiere al ID de las peliculas que trabajo la persona, o las personas que trabajaron en la pelicula.

	void inicializarAsociados();

};

#endif /* ENTIDADSERIALIZABLE_H_ */

